﻿using System.ComponentModel.DataAnnotations;

namespace Devonline.Core;

/// <summary>
/// 协议类型
/// </summary>
public enum ProtocolType
{
    /// <summary>
    /// 以 http api 传输方式定义数据结构的协议
    /// </summary>
    [Display(Name = "http 协议")]
    Http,
    /// <summary>
    /// 以 https api 传输方式定义数据结构的协议
    /// </summary>
    [Display(Name = "https 协议")]
    Https,
    /// <summary>
    /// 以 WebSocket 传输方式定义的数据结构的协议
    /// </summary>
    [Display(Name = "WebSocket 协议")]
    Ws,
    /// <summary>
    /// 以 WebSocketSecure 传输方式定义的数据结构的协议
    /// </summary>
    [Display(Name = "WebSocketSecure 协议")]
    Wss,
    /// <summary>
    /// 以 gRPC 协议传输方式定义数据结构的协议
    /// </summary>
    [Display(Name = "gRPC 协议")]
    gRPC,
    /// <summary>
    /// 以 tcp 协议传输方式定义数据结构的协议
    /// </summary>
    [Display(Name = "tcp 协议")]
    Tcp,
    /// <summary>
    /// 以 udp 协议传输方式定义数据结构的协议
    /// </summary>
    [Display(Name = "udp 协议")]
    Udp,
    /// <summary>
    /// 以 ftp 协议传输方式定义数据结构的协议
    /// </summary>
    [Display(Name = "ftp 协议")]
    Ftp,
    /// <summary>
    /// 以文本文件协议形式定义数据结构的协议
    /// </summary>
    [Display(Name = "文本文件")]
    File
}